package com.example.adminui.controller;

import com.example.adminui.entity.Sales;
import com.example.adminui.service.SalesService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;

/**
 * 销售管理控制器
 * <p>提供销售相关的CRUD操作API接口</p>
 */
@RestController
@RequestMapping("/api/sales")
public class SalesController {
    @Autowired
    private SalesService salesService;

    /**
     * 获取所有销售信息
     * @return 销售列表
     */
    @GetMapping
    public List<Sales> getAllSales() {
        return salesService.getAllSales();
    }

    /**
     * 根据ID获取销售信息
     * @param id 销售ID
     * @return 销售对象
     */
    @GetMapping("/{id}")
    public Sales getSalesById(@PathVariable Long id) {
        return salesService.getSalesById(id);
    }

    /**
     * 创建新销售记录
     * @param sales 销售对象
     */
    @PostMapping
    public void createSales(@RequestBody Sales sales) {
        salesService.createSales(sales);
    }

    /**
     * 更新销售信息
     * @param id 销售ID
     * @param sales 销售对象
     */
    @PutMapping("/{id}")
    public void updateSales(@PathVariable Long id, @RequestBody Sales sales) {
        sales.setId(id);
        salesService.updateSales(sales);
    }

    /**
     * 删除销售记录
     * @param id 销售ID
     */
    @DeleteMapping("/{id}")
    public void deleteSales(@PathVariable Long id) {
        salesService.deleteSales(id);
    }
}